精  
开坑—通用版mf引擎宝典初级&中下级
id: 2851456572 | 楼主:dodoufatch | 返回首页
id: 45522916395
1L | 作者:dodoufatch | 发布于 2014-02-06 08:59

9:30开坑
此宝典适用于任何版本的Mf引擎(mFe,W10,RE,MW1.0),因为他不教代码思路只教逻辑
第一次编宝典资源有限。。。
希望帮到大家做关
(MMF帮助文件真心看不懂)
可以站喽啦
9:30准时开发文字+录制视频



id: 45525828653
2L | 作者:无视我…… | 发布于 2014-02-06 10:19

肿么还不开始。。。


id: 45526559096
3L | 作者:dodoufatch | 发布于 2014-02-06 10:35

第一章节 认识MMF,掌握MMF
1- 打开mfa
mfa是mmf文件的后缀名,exe则是mmf成品关卡的后缀名。由于MF引擎都比较深奥,所以还会有各种各样的mfx(拓展功能包文件)。例如有了timex.mfx就可以在MMF里使用TIME X事件。
我们先下载一个MF引擎,会发现里面有几个mfx。
怎么破呢?
把mfx放到你安装目录文件夹的Extension文件夹中,以及安装目录data\runtime文件夹中
安装目录默认为(C:\Program Files\MUITLMEDIA FUSHION 2 DEVELOPER)
然后,就可以兴奋地打开MFA了。

Q:MFA无法直接打开
A:先打开MMF,在点击打开-***.mfa就可以啦!

2- 认识界面
MMF里有很多界面哦。
最上面的是菜单栏,提供各种各样的服务。菜单栏下面的则全是快捷菜单、快捷功能以及视图、网格等编辑工具。
左侧的workspace toolbar则是显示frame的场地,propoties是物品属性栏,用于物品的初始化设定。工作区左边的有很多文件的地方是文件库。
一般来说,MMF的播放界面像素为640*640


回复
dodoufatch 于 2014-02-06 10:48:29 id: 45527139787
第一章节以理论知识为主。
dodoufatch 于 2014-02-08 15:46:49 id: 45656327089
传送门 :第二章节 25L


id: 45526832196
4L | 作者:dodoufatch | 发布于 2014-02-06 10:41

3- 物品
MMF的物品五花八门,有对话框、选择框、按钮等等的一大堆东西。我们在MF引擎中比较常用的有Active(可设定动作)、backdrop(背景)以及Counter(计数器)
Active是可以在event中编辑、调用并设定的物品,一般分为可见与不可见。可见的主要有怪物、马里奥、终点等要设定事件的动态物品以及静态物品,不可见的一般用来设定重叠判定、变量判定等一大堆的代码判定。
backdrop一般为背景,不能在event中调用。W10E为大家提供了一个渐变背景,单击蓝天,然后修改左侧propoties栏中的两个颜色值,就可以做出不同的渐变色背景
counter的用法与value类似,用于计数。比如counter方向用于记录马里奥当时的方向,然后设定一个判定就能做出一些设计。



id: 45527124839
5L | 作者:dodoufatch | 发布于 2014-02-06 10:48

4-插入物品、移动物品、复制物品、克隆物品、删除物品、编辑物品
首先是插入物品,在空白地方点几下就会出现一个菜单栏,单击“insert object”就会出现很多类型,一般我们点击Active,然后一个Active就生成了(默认为绿色菱形)
我们在左图位置处可以设定点格,让我们的关卡更整齐。
首先点最左边的那个,然后输入width32,height32(熟练了之后可以改成16),点OK,在点击第3个。现在移动active是不是很整齐啊?!
利用Ctrl+c与Ctrl+v进行复制粘贴。注意粘贴会有个十字架,确定该物品粘贴后的位置。也可以右键复制粘贴。
右键该物品,点击clone object就可以克隆一份一模一样属性的物品,只不过在调用事件时这两个事件是分开调用的。
使用快捷键delete(不是backspace! 是方向键上面的delete,先要打开Scroll Lock)删除物品。物品删除后,关联着的所有event将被删除
双击打开该物品的编辑区,进行物品编辑。这部分内容将在第二章节细讲。



id: 45527382204
6L | 作者:dodoufatch | 发布于 2014-02-06 10:53

5- 锁定物品
右键背景,点击Lock可以对其进行锁定哦!
我们为了方便大块的复制粘贴,一般会对更改好的背景进行锁定,这样就使它不会被移动、编辑,方便大块的复制粘贴关卡内容。
不过要注意,Lock以后不能Unlock,要谨慎!

6- Frame的概念
MFA是由诸多界面组成的,每个界面相对独立,有自己的object与event,我们把这种相对独立又有诸多关联的界面称之为Frame
有些物品与数据是全局数据(例如Global Value),他们在整个MFA中通用,因此在其中一个frame更改后另一个frame也会自动更改。
每个active也有自己的frame。双击板栗仔,看到板栗仔的动态由许多frame构成,这个frame则不是界面,而是一个显示动态物品其中一个时间段形态的画面,不会相对独立。



id: 45527689497
7L | 作者:dodoufatch | 发布于 2014-02-06 11:00

7- 物品大小与判定区域
每个物品有自己的大小。例如;落石很大,但是判定区(有效区)很小。双击开来之后,为黑白相间格子区域为无效判定区域。只有当一个物品碰到有效判定区域时才会进行重叠事件。

8- 焦点
焦点反应了一个物品的方位点。例如板栗身高32像素,位于X为320的地面上,如果他的焦点在头上,则他此时的X POSITION为320-32=298,如果焦点在脚上,则此时的X POSITION为320。

双击开一个active,在他的左侧找到这个就可以编辑焦点(一般默认为左上方)

9- 编辑物品大小
在上图中,最下面一行的第一个(就是眼睛左边的左边那个)单击一下,就可以更改物品的长度和宽度了。MF里面一般都是16的倍数为了方便移动与编辑。
我们还可以先在工作区单击一个active,过1-2秒后再单击一下,就会出现,通过点击四面八方的点来编辑物品大小。编辑时,最好打开可见点格,弄成16的倍数,方便拖动。



id: 45541747045
8L | 作者:马里奥X7 | 发布于 2014-02-06 15:59

为什么没我的mfeeb v1.11的教程宝典?

回复
dodoufatch 于 2014-02-06 16:15:18 id: 45542470560
这是通用版的
dodoufatch 于 2014-02-06 16:15:35 id: 45542484236
适用任何版本
dodoufatch 于 2014-02-06 16:16:03 id: 45542505005
想单独为一个引擎做教程是不怎么经济了的,而且你的MFEEB可以看作W10E的改进版
马里奥X7 于 2014-02-06 16:27:44 id: 45543042843
回复 dodoufatch :谢谢夸奖!
dodoufatch 于 2014-02-06 21:08:20 id: 45557805428
我的意思是你的MFEEB可以看作是W10E的翻版,就多了点东西修复了很多BUG,本质上的逻辑是一样的。也属于MF引擎范围内


id: 45542553368
9L | 作者:nmnmoooh | 发布于 2014-02-06 16:17

好物先顶


id: 45544414666
10L | 作者:Weapon123hsy | 发布于 2014-02-06 16:56

@ZHL_64 我们的希望就在这贴上了…

回复
ZHL_64 于 2014-02-06 17:47:53 id: 45546825460
怎么回事
Weapon123hsy 于 2014-02-06 20:17:04 id: 45554675929
回复 ZHL_64 :我们不是不会用MMF吗
ZHL_64 于 2014-02-06 20:18:00 id: 45554732529
回复 Weapon123hsy :OH OH HAHAHAHAHA......HEHE
dodoufatch 于 2014-02-06 20:42:59 id: 45556241572
这个贴适用于对制作有一定基础的人
dodoufatch 于 2014-02-06 20:43:09 id: 45556251359
零基础可能会相对吃力
dodoufatch 于 2014-02-06 21:48:28 id: 45560419304
回复 Weapon123hsy :明天我发零基础shipin


id: 45554135748
11L | 作者:dodoufatch | 发布于 2014-02-06 20:07

明天上视频哦


id: 45555936151
12L | 作者:大爷23大买卖吗 | 发布于 2014-02-06 20:37

@happy lee_12

回复
Weapon123hsy 于 2014-02-06 20:49:48 id: 45556659920
...
dodoufatch 于 2014-02-06 20:55:33 id: 45557013314
.
大爷23大买卖吗 于 2014-02-06 21:12:13 id: 45558054333
@happylee_12
dodoufatch 于 2014-02-06 21:13:21 id: 45558127586
不要at了吧。另外是Lee不是lee
大爷23大买卖吗 于 2014-02-07 10:32:20 id: 45583591397
回复 dodoufatch :没区别


id: 45565816884
13L | 作者:syzxchulun | 发布于 2014-02-06 23:09

写的基础,适合初学者,很好,先加精品!

回复
HappyLee_12 于 2014-02-07 02:32:43 id: 45575167001
同...


id: 45582210501
14L | 作者:把僵尸炖了 | 发布于 2014-02-07 10:01

可以解锁的说(unlock)

回复
dodoufatch 于 2014-02-07 11:19:00 id: 45585847748
好吧,刚刚发现了,谢谢提供


id: 45584560938
15L | 作者:dodoufatch | 发布于 2014-02-07 10:52

视频在审核,下午上。
继续昨天的课题。

9-物品种类
每个物品都有自己的type。
我们找一个怪物,在左侧的propoties(属性)菜单下点这个,看到如下界面
这个是物品运动movement的属性。
首先,每个物品可以有多种运动方式(movement)。每种运动方式的type以及speed以及重力等等都不一样!
当前选择的一种是默认也是初始的一种运动方式(在这里为运动#1)有些物体(例如上涨岩浆)有两种运动方式,一个是运动#!一个是#2分别代表上涨和静止的。运动方式可以在关卡中途通过代码来切换。
下面普及几种常用的运动方式:(type)
Static 静态物品
Platform 平台等,一般有重力,可以设置speed(速度)以及重力
Bouncing Ball 能反弹的物品,常见的有普通运输桥等等
Path 按照路径运动,一般有上涨岩浆的动态


回复
dodoufatch 于 2014-02-07 10:53:12 id: 45584579482
好吧是10


id: 45584752471
16L | 作者:dodoufatch | 发布于 2014-02-07 10:56

11- 组
物品可以自定义加入其中一个组(group),方便在event中管理。
例如怪物都是一个组,这样在event中,只要马里奥碰到这个组的一个成员就会进行判定。
组是可以在属性栏中设置的,如下


板栗仔在这个引擎中加入了group.bad组以及24组。我们单击Qualifier右边的框框,点击Edit,看到组的详细情况


使用Add可以让他加入新的组。
关于组在代码中的具体应用会在第三章节细讲。



id: 45585039888
17L | 作者:dodoufatch | 发布于 2014-02-07 11:02

12- 初始变量值
变量值(Alterable Value)是相对于每一个个体物品设定的。每一个个体物品都有自己的Alterable Value。我们可以为一种物品设定初始的变量值,这样这种物品的每一个个体一开始的都是这样的一个变量值。
我们以KOPPA为例来看看。
单击KOPPA,然后再属性栏中找到这个
可以看到,KOPPA基本上都被初始化定义成了0.

这个KOPPA相当可怜只有3格血。通过初始化设定还可以为变量重命名。另外初始化设定不会在Always事件中调用,只会在Frame开始时执行一次。
Global Value(全局变量)则在一个Application的开头进行定义。
单击标题在下面找到这个

这里就是定义Global Value的地方了。

值得注意的是,Global Value在每个frame都通用,也就是每frame开头不再初始定义。



id: 45585250934
18L | 作者:dodoufatch | 发布于 2014-02-07 11:06

13- 更改初始属性值
我们还是在刚才Global Value的地方找到这个,然后看到Player...下面有个Lives,可以更改关卡初始的生命。
另外我们点击Default Controls更改初始键位。其中每个叉叉代表一个Player(当然这是和event有关系的,我们改第一个叉叉即可),相应的Button1、2则代表event中的fire1、fire2,分别为跳跃和加速子弹。更改这个可以使关卡所有地方的Button1、2发生改变!
注意!在关卡标题处编辑的属性均为全局属性,编辑一定要谨慎,否则整个application都会毁掉。
如果下载了MMF的HWA版本,在上面的Display Mode里可以选择Direct3D,运行会更加流畅



id: 45585581359
19L | 作者:dodoufatch | 发布于 2014-02-07 11:13

14- 状态(animation)
animation,对于event编的多的人应该超级熟悉。没错,一个animation反应了一个物体该时的特点,他不同于Movement Type,他是在特定地方进行动态场面编辑的状态。也就是,animation是一个动态形象,而movement是一个运动形象。
我们来看看马里奥的状态。
双击马里奥,看到左下角他有很多状态。

选择walking并点击右边的DIRECTION OPTIONS。
我们看到LOOP被允许了,也就是Frames中的动态场面是循环播放的,而且播放速度是60FPS。而一旦马里奥停止走动,event就会把animation切换到Stopped,马里奥就会变为“静态”(Stopped中只有一个Frame)
我们还可以看到Walking状态中有两个方向被打上了实心。(就是三点和九点的方向)
animation右边那个类似时钟的东西是方向(direction)。我们点击左边那个实心,发现此时马里奥的动态是向左的。也就是WALKING一共包含两个方向。同样方向也可以用event来控制。
关于状态的代码会在后面讲到



id: 45585805160
20L | 作者:dodoufatch | 发布于 2014-02-07 11:18

15- 制作关卡
制作关卡相信对于大家来说很简单吧!
首先复制几份渐变背景,更改渐变颜色(参照上面更改)做好新的背景,或者找好素材背景,然后Lock好。做好地面、怪物等东西,最后铺上终点就可以了。有些东西不同引擎是不同的,这里我也无法一一讲了。祝大家做关愉快!

好了,第一章节向大家介绍了一些有关MMF的基础常识知识。更深入的MMF,需要大家揭开event list editor的面纱去探索。下面我们就开始新的旅程!


回复
虫蛊蠡 于 2014-02-07 12:24:02 id: 45589040255
帮助文件我勉强能懂一点,但看起来太蛋疼了!
dodoufatch 于 2014-02-07 13:14:14 id: 45591560088
........


id: 45588888583
21L | 作者:dodoufatch | 发布于 2014-02-07 12:20

视频上传失败重传

回复
dodoufatch 于 2014-02-07 14:25:10 id: 45595068690
视频得晚上发了
dodoufatch 于 2014-02-07 16:56:48 id: 45602253680
气死我了,又失败,不传了
HappyLee_12 于 2014-02-07 17:30:59 id: 45603906025
回复 dodoufatch : 没事,别着急...
刘明浩666666 于 2014-02-07 17:52:29 id: 45604920166
回复 dodoufatch :你在哪传的?百度吗?百度就是坑,上传一会就卡住了,有上传网速但是上传进度不增加、或者直接就失败、
dodoufatch 于 2014-02-07 19:17:10 id: 45609135080
回复 刘明浩666666 :用优酷传,速度越来越慢最后0.01B/h,受不了了
刘明浩666666 于 2014-02-07 19:29:14 id: 45609802513
回复 dodoufatch :、、、


id: 45595112734
22L | 作者:dodoufatch | 发布于 2014-02-07 14:26

今天基本在介绍属性栏


id: 45637261433
23L | 作者:dodoufatch | 发布于 2014-02-08 08:54

各位抱歉,今天要晚一点开始连载了,最早也得下午,望原谅


id: 45643648645
24L | 作者:dodoufatch | 发布于 2014-02-08 11:25

征求意见—大家希望接下来讲代码往哪方面先讲!


id: 45655999335
25L | 作者:dodoufatch | 发布于 2014-02-08 15:39

今天的开始啦!
第二章节- 关卡后台事件入门
第一节 event
event(事件,也就是代码)是一个frame必不可少的一部分,控制了frame的基本运行与各种动作。event通常从event list editor进去。
我们单击一个frame,右键然后点击event list editor即可。
event editor是event list editor的检索版本。
一个标准的event由以下几部分组成:
主条件(Main Condition)
副条件1 (Extra Condition 1)
副条件2 (......)
.........
副条件N(Extra Condition N)
动作1 (Action 1)
.......
动作N (Action N)
一般来说,主条件是一个event的最主要的判断,后面可以没有副条件。
event的条件一旦激活,里面的动作也会相应的执行。
我们来看一个例子来分析:
Mario is Out of the Play Area
Music: Play Sample Mario-Win
在这句话中Mario is Out Of the Play Area是条件(具体的语法会在之后学),也就是这个条件成立后,里面的Play Sample Mario-Win也会相应地执行。
我们还可以发现,每个动作都关联着一个Active物品。
MMF有内置的几个Active物品。我们来认识一下:
1. Special Events(就是那个有问号的像电脑一样的)复杂事件,通常为全局设定以及组设定用
2. Music:一个喇叭,用于播放与控制音乐
3. Storyboard Control:黑白相间的东西,主要控制关卡的滚屏以及各种帧的调换
4. Timer:计时器,主要用于every语句
5. Keyboard and Mouse:键盘与鼠标事件
6. Player 1、2、3、4:主要用于游戏的用户操作判定,每个Player都有不同的功能
另外,加入了一些MFX文件中还可以有更多的功能
例如,加入了Timex.mfx后就可以调用TIMEX的相关事件



id: 45656304237
26L | 作者:dodoufatch | 发布于 2014-02-08 15:46

第二节- 坐标与像素
像素,顾名思义。(大家自己去思吧)
像素就是一个在屏幕中显示图片的基本单位,是一个很小的正方形显示区。MF引擎中的砖块为32*32像素,滚屏显示区为640*640像素。也就是长度如果超出640像素就会开始滚屏。
坐标(Position)反映了一个物体的绝对位置与相对位置。
坐标一般分为X坐标与Y坐标
X坐标是横向的,反应物体的左右。设一点X坐标为100,那么如果另一个点在这个点右边且距离他100像素,那么另一个点坐标就为100+100=200。
X坐标是越右越大。
Y坐标是纵向的,反应物品的上下。设一点Y坐标为100,一个人的焦点位于这个点的下方100像素,那么这个人的坐标为100+100=200
Y坐标越下越大。
利用两个坐标就可以反映一个物体的位置。例如屏幕左上角坐标为(0,0)
物体的坐标通常是取决于他的焦点(Action Point)

相对坐标是绝对坐标的升级版
设一个点A位于(10,10),另一个点B位于(20,20),那个另一个点B的坐标可以表示为:
(10,10) from 点A
点A坐标则可以表示为:
(-10, -10)from 点B
相对坐标的表示方法通常为:
(比较者X坐标减去被比较者X坐标,比较者Y坐标减去被比较者Y坐标)from 被比较者名称



id: 45656774136
27L | 作者:dodoufatch | 发布于 2014-02-08 15:56

3- 冲突判定
现在,我们需要自己动手,做出你的第一个代码判定事件
冲突判定分为Collision Test与Overlapping Test。一个为触发型为红色,另一个为持续性。当A碰到B时,使用Collision Test,则时下面的代码判定只执行一遍。使用Overlapping,则会不断的执行直到A离开B。
Collision语法的一般形式为:
Collision between A物品 and B物品
我们先来做一个Collision判定。
首先回到frame editor,在灰色区域右键并insert object,选择Active插入一个动作,放到马里奥能碰得到的地方(一开始不要碰到!)并右键重命名为SXBK
打开event list editor,拉到最下面,看到有一个New Condition。我们点击它,看到一大堆图片。
W10E,MFEEB,MFE版本请点击那个制造马里奥的黑色方框(即起点框),RE版本请点击放置起点时马里奥后面的那个东西(不是滚屏的东西,是起点)
右键单击它后,看到菜单栏,移到COllision处,然后点击Another Object,然后又重新让你选择了,你左键单击刚刚创建的那个Active。(如果有很多这样的菱形就移到上面,看看哪个叫SXBK)
这样,你就华丽的创造了一行条件代码:Collision Between Mario and SXBK
下面单击insert your action here为该条件设定结果,我们右键单击那个像国际象棋棋盘一样的东西,然后选择next Frame(前提是你关卡的那个frame后面还要有一个frame,如果没有可以选择Previous Frame)。OK了!
测试关卡,马里奥走到菱形的时候界面就换了。
OK。在这里呢,overlapping也可以用,也是一样的用法,但是做大型关卡时,可能两者效果相差很多哦!



id: 45656980177
28L | 作者:dodoufatch | 发布于 2014-02-08 16:00

4- 初始化执行型代码
接下来我们来研究几个初始化执行型代码。先做介绍:
Start of Frame:在关卡开始的时候执行,一般用作初始化,只执行一次。
End of Frame:在关卡结束或者死亡时执行,一般做收尾,只执行一次。
Always:如没有其他限制条件,则整个关卡运作时一直连续不断地执行下面的代码。
Never:从不执行下面的代码
Only One Action When Event Loops:一般有其他的限制条件。意思为,当其他的条件成立时,以下的代码只执行一次。
Run this event once:如没有其他限制条件可以当作Start of Frame看。如果有其他的限制条件,则为当条件成立时,以下的代码被执行一次,然后就无论条件成不成立都不再执行。



id: 45657261806
29L | 作者:dodoufatch | 发布于 2014-02-08 16:06

5- 自己制作初始化执行型代码
首先,我们再找一块空地,点击new condition,插入条件
我们选择第一个类似电脑一样的东西,右键,然后点击Always,就创造好了一个Always条件。
然后单击下面的Insert Your Action Here,在选择界面中选择Player 2

右键他,选择Score-Set Score,输入60,然后点击OK,我们就创建好了以下代码:
Always
Player 2: Set Socre to 60
然后保存关卡,测试一下看看,是不是金币数量为60而且无论如何也不会改变呢?无论吃多少金币,永远保持60不变。
我们再右键单击刚刚创建好的那个Always,选择Replace(修改),点击第三个物品(喇叭右边那个),选择Start of FRAME,就会发现代码被改成了:
Start of Frame(红色):
……………………
再次运行,会发现一开始还是有60个金币,只不过如果马里奥吃到金币了数量会增多不会保持不变。那是应为Always一刻不停的在执行,刚吃到金币要加了又被执行了回来,而Start of Frame只在关卡开始时执行一次,后面就相当于这个金币设定不去管它了,所以会增加。



id: 45657493742
30L | 作者:dodoufatch | 发布于 2014-02-08 16:11

6- 时间间隔代码
利用Timer 做出该代码
语法:Every 时间
..........
例子:
Every 00''-01
Player 2: Add 1 to Score
意思是每0秒1毫秒(‘’为秒,-后面的为毫秒),给金币数量+1。
我们试着做一下。
删掉刚才那行代码(右键Delete),找空地new condition,然后选择那个时钟,右键后单击every,输入以下数字,然后OK,发现是Every 01''-20(每1.2秒)

然后按照惯例,点下面那行文字,然后找到Player2,右键-Score- Add to Score
输入1然后点OK,就完成了以下代码
Every 01''-20
Player 2: Add 1 to Score
测试关卡,我们发现每1.2秒金币数量+1。



id: 45657515880
31L | 作者:dodoufatch | 发布于 2014-02-08 16:11

今天暂时休息了,有什么疑问在下面回帖哦!

回复
dodoufatch 于 2014-02-08 16:36:38 id: 45658706245
PS!别忘了今天已经更新过了!在第一页!


id: 45657730187
32L | 作者:刘明浩666666 | 发布于 2014-02-08 16:16

弱弱的问一句:想制作可以向8-3一样的向上走向下走怎么设置、、、

回复
dodoufatch 于 2014-02-08 16:17:36 id: 45657792144
什么版本的引擎?
刘明浩666666 于 2014-02-08 16:18:58 id: 45657857301
回复 dodoufatch :RE
dodoufatch 于 2014-02-08 16:24:42 id: 45658130882
回复 刘明浩666666 :RE还没研究过,我只知道一般方法是center display Y at Y("mario")
刘明浩666666 于 2014-02-08 16:27:00 id: 45658240825
回复 dodoufatch :什么center在哪呢、
刘明浩666666 于 2014-02-08 16:30:50 id: 45658426382
回复 dodoufatch :lyh娘已经告诉我应该怎么办了、谢谢你的帮助
dodoufatch 于 2014-02-08 16:36:20 id: 45658691756
回复 刘明浩666666 :好的。


id: 45671556519
33L | 作者:RAFFICA | 发布于 2014-02-08 20:40

看上去像是类似vb的编程书,我试看看能否看懂

回复
dodoufatch 于 2014-02-08 22:13:41 id: 45677569548
没有那么复杂吧
RAFFICA 于 2014-02-08 22:55:48 id: 45680426907
回复 dodoufatch :。。。
虫蛊蠡 于 2014-02-09 18:34:41 id: 45721671741
比vb简单多了。。。
dodoufatch 于 2014-02-09 19:16:30 id: 45723841598
RAFFICA 于 2014-02-09 20:40:27 id: 45728729820
回复 虫蛊蠡 :- -我VB会,这个可能是不太熟悉(才看第一遍)
虫蛊蠡 于 2014-02-10 08:08:57 id: 45750908761
回复@RAFFIC咱俩啊,你和我半个月前的状态是一样的


id: 45681787351
34L | 作者:水银龟 | 发布于 2014-02-08 23:15

你打那么多字不累么

回复
dodoufatch 于 2014-02-09 10:07:11 id: 45697354170
禁水。
刘明浩666666 于 2014-02-09 10:13:41 id: 45697627471
应该很累、
dodoufatch 于 2014-02-09 10:20:31 id: 45697923310
其实不是很累
dodoufatch 于 2014-02-09 10:20:54 id: 45697940806
每天的内容控制在8分钟的打字时间里,超出了就先咔断下一天继续
刘明浩666666 于 2014-02-09 10:25:10 id: 45698128753
回复 dodoufatch :打字真快、


id: 45698253944
35L | 作者:天蓝色的耀西 | 发布于 2014-02-09 10:28

果断没看懂好高级的样子,这哪是初级能看的?

回复
dodoufatch 于 2014-02-09 10:30:14 id: 45698355133
这是理论部分,实践部分是给初级看的,以视频的形式发。
dodoufatch 于 2014-02-09 10:30:49 id: 45698381824
由于之前上传视频一直失败,这次用土豆上传成功了,在转码中,下午就能发布第二章节 的配套实践视频了。


id: 45700678800
36L | 作者:马里奥X7 | 发布于 2014-02-09 11:18

楼上的有一点说错了:应该是”-后第一位数为1毫秒,第二位数为分秒

回复
马里奥X7 于 2014-02-09 11:19:58 id: 45700726741
楼上指时间隔
dodoufatch 于 2014-02-09 11:22:14 id: 45700838120
好吧,我再看看。


id: 45723861384
37L | 作者:dodoufatch | 发布于 2014-02-09 19:16

今天不更了,明天补上今天的加明天的


id: 45773277122
38L | 作者:dodoufatch | 发布于 2014-02-10 16:38

开始啦!继续昨天的!(前天的在第一页,慢慢翻)
6- 控制播放代码初步接触
接下来我们接触几个和音乐有关的代码
音乐分为sample和music,Re里基本上是sample,sample可以放在各种各样的频道(channel)里,一个频道一次播放一个sample。现在我们尝试着做一个音乐
我们首先找空地(诀窍:鼠标左键单击一个数字,然后右键insert- a new line)可以直接插入
选择第一个电脑,然后点击Always。还是老规矩插入action。选择喇叭,右键,然后移到sample,选择Play and loop Sample on a specific channel,选择随意一个背景音乐(如果要自定义可以选择最下面一个file,然后转到你要的文件。最好为ogg格式,mp3格式不支持)然后再对话框中输入32,再输入0.就完成了以下代码:
Always
Play sample XXXXXX on channel #32, 0 times
这样测试关卡,发现背景音乐是这个音乐和另一个背景音乐混杂起来的(RE除外)。
这里只是给大家做个演示,因为每种引擎的音乐逻辑是不一样的,无法一一讲。
W10E是在音乐+通关处,把音乐=0下面的channel改一下,RE忘了。

接下来我们要让频道32停止。
删掉刚刚那个事件,再插入一个Always,然后选择喇叭--sample- stop channel,输入32,会发现正常情况下这个音乐会停止。
单击Always,右键Replace,在界面第一个电脑处右键选择Never,这样音乐就永远不会停止。
我们试着为频道32设置音量。
把Never改回Always,删掉那个stop channel,改为set chennel volume(方法:打开界面,右键喇叭-sample-- set channel volume)输入一个准确的音量就可以了。测试关卡看效果



id: 45773388189
39L | 作者:dodoufatch | 发布于 2014-02-10 16:40

7- 帧代码
帧代码为storyboard control类型。我们尝试着通过马里奥碰到板栗仔来跳到下一帧。
按照第三节的办法,弄好以下代码:
collision between Mario and 板栗
storyboard control(那个像棋盘一样的):Next Frame
测试关卡看效果。
其实我们还可以设置Jump to frame。一样的地方右键STORYBOARD CONTROL,选择jump to frame,选择一帧。这样,当马里奥碰到板栗的时候会跳到特定的界面了!



id: 45774093736
40L | 作者:dodoufatch | 发布于 2014-02-10 16:55

8- Test Position(比较坐标)
我们已经学过了X和Y坐标。接下来我们来学习比较坐标的一般方法。
比较坐标是作为条件出现的,语法格式为:
X position of Active(物品) 比较符 一个X坐标值
Y Position of Active 比较符 一个Y坐标值
比较符有等号(equal),不等(Different),不小于(Greater or equal),不大于(Lower orequal),小于(lower)和大于(greater)
一个X坐标值或Y坐标值可以是一个准确的数字,还可以是一个值。(例如此时帧最右边的X坐标、此时板栗仔的X坐标等等)
假设目前有创建了一个Active,我们来举个例子说明:
X position of Mario >= X(“active”)
Storyboard Control: Next Frame
此时,如果马里奥的X坐标不小于Active的X坐标,(即大于或者是等于)就去下一个界面。简单的说就是马里奥不在这个Active的左边时执行下面的代码。这个代码会一直执行直到帧的结束。
表示一个物体X坐标的语法为 X(“物体名”),Y坐标也是一样,是Y(“物体名”)
此时帧的最右侧可以表示为XRight Frame(这些全都可以用于强制滚屏,到时候会细讲!)

我们来体会一下这种用法
创建一个空的Active(方法应该都知道),重命名为“SBB”,放到关卡中适宜的地方。然后转移到event list editor,找空地插入新的条件。
我们单击代码马里奥的物品(W10E的如左图)

右键,选择Position,然后单击Test X Position to a value,在新的对话框中输入 X("SBB"),然后如左图,将上面的choose comparision methof中的equal换成Greater or equal(不小于),然后点击OK,就生成了一段代码。

然后我们在这个条件下面点击insert your action here,插入next frame(这个应该知道吧!)
完成了。我们测试关卡,发现MARIO一旦越过那个Active就会跳转界面

同样,我们双击那个X Position of Mario >=X(“SBB”),把X(“SBB”)换成100,测试关卡。



id: 45774117971
41L | 作者:dodoufatch | 发布于 2014-02-10 16:56

今天要过一会儿继续更了!


id: 45776893464
42L | 作者:dodoufatch | 发布于 2014-02-10 17:54

罢工


id: 45782082349
43L | 作者:刘明浩666666 | 发布于 2014-02-10 19:36

视频呢、、、等待视频中

回复
dodoufatch 于 2014-02-10 19:51:53 id: 45782967410
上传中,